home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
pascal
/
pull20.zip
/
PULL20.DOC
< prev
next >
Wrap
Text File
|
1988-01-11
|
43KB
|
860 lines
January 12, 1988
MULTI-LEVEL PULL-DOWN MENUS
Version 2.0
(c) 1987,1988 James H. LeMay
PURPOSE:
This utility creates incredibly quick multi-level pull-down
menus as units for Turbo Pascal 4.0 programs for ALL IBM
compatibles, including PS/2 and 3270 PC on any video page or any
text mode. It features:
- Work window(s) and complete interface for menus
- Pull-down menus with 5 menu modes and 7 line modes
| - Pull-down file directory
- Highlighted command letters
- Unlimited levels of submenus
| - Unlimited data entry windows for 9 types of data
- Data entry for the work window(s)
- Automatic NumLock for numerical data entry
- Right or left justification for data entry
- Error messages for invalid data entries
- Error messages for data entries out of range
- Allowance for null entries on text data entry
- Automatic and override configuration for sizes and
locations for easier development
- Operation by cursor keys or command keys
- Pull/Pop between work window and nested submenu(s)
- Programmable control of pull and pop sequences
- Full system of self-titled help windows
- Message lines for prompts and processing
- Full working shell for user development
- Can be fully configured by the user including
add-on features though units.
They work on MDA, CGA, EGA, MCGA, VGA, 8514/A adapters in any
column mode (40/80/etc.). These procedures use the quick screen
writing procedures of QWIK40A.TPU and the multi-level window
procedures of WNDW40.TPU.
TEST DRIVE:
Compile and run the program PULLDEMO.PAS to get a feeling for
features and speed. Be sure to use the Help function key "F1"
everywhere for context-sensitive explanations.
Be sure to copy QWIK40A.TPU, WNDW40.TPU, and PULL20.TPU to
QWIK.TPU, WNDW.TPU, and PULL.TPU, respectively, before
compiling.
WNDW40.ARC and QWIK40.ARC are not included and have more
documentation. The demo is very similar to the TP4 environment.
The operation should be intuitive. If not, then I didn't do a
very good job.
FILES:
In this version, PULL20.ARC contains:
!read .me!: File that insists you get a copy of
WNDW40.ARC and QWIK40.ARC for further
documentation.
Qwik40a .tpu: Unit from QWIK40.ARC - comprehensive quick
screen writing utilities.
WndwVars.tpu: Unit from WNDW40.ARC - WNDW variables.
Wndw40 .tpu: Unit from WNDW40.ARC - multi-level windows.
Pull20 .doc: This document.
PullVars.tpu: Just interface for PULLVARS.TPU.
PullVars.tpu: Variables used in PULL20.TPU.
Pull20- .pas: Just interface for PULL20.PAS.
Pull20 .tpu: Unit for your programs to use the pull-down
menus including data entry procedures.
PullDir-.pas: Just interface for PULLDIR.PAS.
PullDir .tpu: Unit for a pull-down file directory.
PullStat.pas: Data to configure the menus.
PullProc.pas: Procedures and Data Entry variables to be
executed in the menus including global keys.
PullWork.pas: Procedures for the main work window(s).
PullDemo.pas: Fully functional working demo.
License .arc: ARC file containing license agreements.
IMPROVEMENTS:
In this version there are several improvements over PULL15:
| . Converted to TP4 and incorporated QWIK40 and WNDW40.
| . Added pull-down directory with path and mask.
| . Added global keys like Alt-F and Alt-X in PULLSTAT.PAS.
| . Help windows disappear at any any keystroke and applies
| that key to the program.
| . Eliminated PULLUSER.INC and instead allow access to user
| windows direct through PullProc.Process.
| . Menu partitions now use Wndw.BrdrRec.
| . Added TypeOfDataTypes Word and LongInt.
| . Added "ClearScreen" option in InitPull.
SHAREWARE:
Due to the lack of participation and expense, I have decided to
abandon the Teamware concept and instead make them into ShareWare.
The cost may range from $9 to $53 depending on your application.
I do enjoy assisting others in their programming, but lack of
reimbursement is expensive for me! Please help out. See the
STATMENT.LIC in LICENSE.ARC for details. If the response will let
me break even, I will continue support.
DEFINITIONS:
So you can understand the program identifiers and this document,
here's the definitions I'll use:
Work window - The working window of the application program.
Top menu - The menu always shown (usually in row 1 or 2).
Main menu - The first menu pulled from the top menu.
Submenu - All subsequent menus pulled after the main menu.
Line - A row of text.
Menu - A list of selectable lines.
Window - Not a menu.
Data entry window - window for entering data into the
application program.
Selection - A line selected in a menu with a CR.
"HiLited" - A line pointed at in a menu.
Message line - The bottom row to display key helps or
processing status.
Error message - a short message for data out of range.
Link - A menu line showing a symbol (three-bar or dot) that
pulls another menu or window. The symbol is also on
the same side where it is pulled.
PullDown - pulls menus down to the previous level.
Pop - removes menus and returns to the work window.
BASIC OPERATION:
I'll just put a few words here just in case you may have missed
some of the capabilities in the demo.
. Status Line - Row 1 just holds the title of this program. It
can be used to for optional status info.
. Top Menu Line - To access the top menu line, press F10 at any
time. The exceptions are when the Help window or Error
messages are displayed. The "/" key does the same thing
except it is considered data in text data entry windows.
. Main Menu - To access a main menu, press RETURN while the top
menu is highlighted.
. Submenu - To access a submenu, press RETURN when the HiLite
is at a menu line with the three-bar symbol (which looks like
a menu).
. Data Entry Window - To access a data entry (pronounced "dot-
uh" entry?) window, press RETURN when the HiLite is at a menu
line with a small dot symbol. Pressing RETURN again will
exit the window. You can clear any data entered by pressing
ESC which also removes the window.
. Numerical Data Entry - Depending on the type of data, (byte,
integer, etc.) only the valid characters can be typed in.
Backspace can be used as well. The "NumLock" is automatic
and is interactive. After return is pressed, the data is
checked for validity (b